home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 07 - 1991 / MacTutor Live! SF 91 / hyper_TIMS Database Toolkit / hyper_TIMS Schema or DDL < prev    next >
Encoding:
Text File  |  1991-01-10  |  2.6 KB  |  101 lines  |  [TEXT/QED1]

  1. /*----------------------------------------------------------------
  2.    Technical Information Management System (TIMS) Database
  3. ----------------------------------------------------------------*/
  4. database tims 
  5. {
  6.    data file timsdat = "tims.d01" contains system, info, intersect;
  7.    data file "tims.d02" contains author, borrower, text, key_word;
  8.    key  file "tims.k01" contains name, id_code, title_code;
  9.    key  file "tims.k02" contains friend, word;
  10.    
  11.    record author 
  12.    {
  13.       key char name[32];               /* author's name: "last, first"                      */
  14.    }                                   /* or editor's name                                  */
  15.    
  16.    record info 
  17.    {
  18.       unique key char id_code[16];     /* dewey dec. or own coding tech.                    */
  19.       char info_title[80];             /* title of book, article, mag.                      */
  20.       char publisher[32];              /* name of publisher - prob. coded                   */
  21.       char pub_date[12];               /* date of publication  (e.g. most recent copyright) */
  22.       short info_type;                 /* 0 = book, 1 = magazine, 2 = article               */
  23.       compound key title_code {
  24.                  info_title; id_code;        /* order by title */
  25.       }
  26.    }
  27.    
  28.    record borrower {
  29.       key char friend[32];         /* name of borrower */
  30.       unsigned long date_borrowed; /* dates are stored as number of seconds since 1/1/1904 */
  31.       unsigned long date_returned;
  32.    }
  33.    
  34.    record text {
  35.       char theline[80];               /* line of abstract text */
  36.    }
  37.    
  38.    record key_word {
  39.       unique key char word[32];    /* subject key words or classification */
  40.    }
  41.    
  42.    record intersect {
  43.       short int_type;                /* copy of info_type to save I/O */
  44.    }                               /* when looking only for, say, books */
  45.    
  46.    set author_list {
  47.       order ascending;
  48.       owner system;
  49.       member author by name;
  50.    }
  51.    
  52.    set has_published {
  53.       order ascending;
  54.       owner author;
  55.       member info by info_title;
  56.    }
  57.    
  58.    set article_list {
  59.       order last;
  60.       owner info;
  61.       member info;
  62.    }
  63.    
  64.    set loaned_books {
  65.       order last;
  66.       owner info;
  67.       member borrower;
  68.    }
  69.    
  70.    set abstract {
  71.       order last;
  72.       owner info;
  73.       member text;
  74.    }
  75.    
  76.    set key_to_info {
  77.       order last;
  78.       owner key_word;
  79.       member intersect;
  80.    }
  81.    
  82.    set info_to_key {
  83.       order last;
  84.       owner info;
  85.       member intersect;
  86.    }
  87.    
  88.    set loan_history {
  89.       order last;
  90.       owner system;
  91.       member borrower;
  92.    }
  93.    
  94.    set current_loaners {
  95.          order last;
  96.       owner system;
  97.       member borrower;
  98.    }
  99.    
  100. }
  101.